The multiplication of applications in the current life of smart cards and other embedded systems and the generalization of their use in certain fields, such as those relating to bank cards, health cards or pay television, has made it necessary to introduce protection procedures, such as cryptographic procedures and/or data scrambling procedures, for example the data transiting on the internal bus of the microcontroller. These protective procedures concern in particular the authentication of the user, the authentication of the transaction and its validity, the retaining of the confidentiality of the data and the encryption/decryption of said data.
Although the fraudulent use of smart cards is not a new phenomenon, the increase of the volume and value of smart card transactions has led to fraudulent persons using increasingly sophisticated means and methods. In particular, attacks by short radiations targeted on the chip have the result in modifying the data and/or the codes transiting from the ROM to the microprocessor on the internal bus which results in the non-execution or irregular execution of certain portions of the cod e, for example the execution of inoperable instructions instead of one or several protective operations.
It has been shown that the precise marking of the position of a sensitive data operation (for example relating to encryption and/or decryption) in a program encoded in a ROM memory makes it easier to target the attack and significantly increase the nuisance power of the latter. So as to carry out this localization, fraudulent persons use the SPA method (Simple Power analysis) which consists of recording the current consumption at certain points of the microcontroller. The SPA method can be completed by the DPA (Differential Power Analysis) method based on the comparative analysis of the signals. From this point of view, it happens that the execution of certain programmed operations (such as the [OR exclusive] operation frequently used in encryption/decryption) reveals a sufficiently characteristic <<signature>> to allow identification of the operation in question and accordingly its localization in the program.